package com.zdft.promotion.receipts.dto;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;

import lombok.Data;

/**
 * @author dxh
 */
@Data
public class ReceiptsDetailDto implements Serializable {

	/**
	 * 收货单编号
	 */
	private Long receiptsId;

	/**
	 * 商品编号 FK = ITEMS.ID
	 * 
	 */
	@NotNull(message = "商品编码不能为空")
	private String itemId;

	/**
	 * 单位编号 折算到某本单位
	 */
	@NotNull
	private Integer unitIdBase;


	/**
	 * 单位编号
	 */
	@NotNull
	private Integer unitId;

	/**
	 * 订货数量
	 */
	@NotNull
	@DecimalMin(value = "1", message = "订货数量必须大于0")
	private BigDecimal quantityOrder;

	/**
	 * 入库清单数量 折算到基本单位
	 */
	@DecimalMin(value = "1", message = "订货数量(基本单位)必须大于0")
	private BigDecimal quantityOrderBase;

	/**
	 * 成本单价 =VENDOR_ITEMS.UNIT_COST 从对应的订单中取
	 */
	@NotNull(message = "成本单价不能为空")
	private BigDecimal unitCost;

	/**
	 * 折扣率
	 */
	@NotNull(message = "折扣率不能为空")
	private BigDecimal discountRate;

	/**
	 * 零售单价 从单品销售政策表中取（暂可以从对应的订单中取)
	 */
	@NotNull(message = "零售单价不能为空")
	private BigDecimal unitPrice;

	/**
	 * 税率 =ITEMS.TAX_RATE(值，不是税率编码)
	 */
	@NotNull(message = "税率不能为空")
	private BigDecimal taxRate;

	/**
	 * 备注
	 */
	private String remark;

	/**
	 * 创建人
	 */
	@NotNull(message = "创建人不能为空")
	private String createUser;

	/**
	 * 创建时间
	 */
	private Date createTime;

	private static final long serialVersionUID = 1L;

}